sseg segment stack
	db 256 dup(?)
sseg ends
dseg segment
	msg0 db 'Programa atspausdina eilutes simboliu ASCII kodus dvejetaine sistema $' 
	msg1 db 'Eilute: $'
	msg2 db 13,10,'$'
	msg3 db 'Rezultatas: $'
	msg4 db ' $'
	msg5 db 'Jus nieko neivedete $'
	eil db 254,255 dup (?)
dseg ends

cseg    segment
assume  cs:cseg, ds:dseg, ss:sseg

main proc near
	mov ax,dseg
	mov ds,ax
	
	mov ah, 09h
	mov dx, offset msg0
	int 21h
	call naujae
	
	mov ah, 09h
	mov dx, offset msg1
	int 21h

	mov dx, offset eil
	mov ah, 0ah
	int 21h
        call naujae

	mov ah, 09h
	mov dx, offset msg3
	int 21h
        call naujae

	mov si, offset eil
	xor cx, cx
	inc si
	mov al, [si]
	cmp al, 0
	je exit
	mov ah,0
	mov cx,ax

	call subm
	mov ah,4ch
	int 21h
exit:
	mov ah, 09h
	mov dx, offset msg5
	int 21h
	mov ah,4ch
	int 21h
main endp


subm proc near
   mbegin:
	xor ax,ax
	inc si
	mov al,[si]	
	mov ah,0h
	
	push cx
   call binary
	pop cx

	mov ah, 09h
	mov dx, offset msg4
	int 21h
	
	dec cx
	cmp cx,0

        jne mbegin

	ret
subm endp

binary proc near
	xor cx,cx
	mov bx,2
   
   point:	
	xor dx,dx
	div bx
	push dx
	inc cx
	cmp ax,0
        jne point

   rodyti:
	xor dx,dx
	mov ah,02h
	pop dx
	add dx,30h
	int 21h
	dec cx
	cmp cx,0
        jne rodyti
	ret

naujae proc near
	mov ah, 09h
	mov dx, offset msg2
	int 21h
	ret
naujae endp

binary endp
cseg ends
end main  


